The process of taking non-cash payments from customers is crucial to the flow and success of business. This process generally involves a payment user interface (UI) implemented on a computing device (e.g., a point-of-sale (POS) device or a laptop computer) and one or more attached peripheral devices. The payment UI generally includes software designed to guide a user (e.g., a salesperson or cashier) through the process of gathering information from the customer, product, and/or service, and presenting a total amount due. In current systems, the payment UI interacts with various attached peripheral devices such as, for example, payment card readers, PIN pads, check readers, and receipt printers.
For example, the arrangement is often implemented as a check-out terminal that consists of a payment UI implemented on a computing device that is coupled to peripheral devices using cables (e.g., serial cables). Payment information is processed by the the payment UI, causing the entire network and computer systems infrastructure supporting the configuration to be within the scope of Payment Card Industry (PCI) Compliance. Conventional payment processing arrangements involve additional limitations, as well. For example, each peripheral device generally requires a driver that must be installed at the payment UI location and physical mobility generally is not possible with the payment UI because the device on which it is implemented is physically connected to the peripheral devices. Browser support is often limited as web-based payment UI applications need to interact with local hardware such as, for example, by using Active X controls, which are often unreliable when implemented within secure communication environments. Furthermore, application programming interfaces (APIs) used to communicate with peripheral devices typically are not straightforward or standardized; and therefore, to implement peripheral devices in a payment solution, one often must learn a unique API for each peripheral device manufacturer.